package com.unionpay.upyzt.param;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.time.LocalDateTime;

@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
public class AcctValidationParam implements Serializable {

    /**
     * 验证类型
     * 1: 平台用户向银行汇款指定金额 | 2: 银行向平台用户打款后由平台使用 [打款金额验证] 接口确认打款验证金额 | 3: 四要素鉴权（对私银行卡）
     */
    private String type;

    /**
     * 付款户名
     */
    private String acctName;

    /**
     * 付款账户号
     */
    private String acctNo;

    /**
     * 打款验证金额，单位分
     */
    private Short payAmount;

    /**
     * 收款账户的卡号
     */
    private String destAcctNo;

    /**
     * 收款账户名
     */
    private String destAcctName;

    /**
     * 收款账户的开户银行编码
     */
    private String destAcctBankBranchCode;

    /**
     * 收款账户的省市编码
     */
    private String destAcctBankAddressCode;

    /**
     * 商户汇款时，需要填写的备注信息
     */
    private String memo;

    /**
     * 汇款截止时间
     */
    private LocalDateTime deadline;
}
